home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: R-H-S / R-H-S Tools 23 (19xx)(Reiner Hobbold Software)(DE)(PD).zip / R-H-S Tools 23 (19xx)(Reiner Hobbold Software)(DE)(PD).adf / Mensch ärgere dich nicht (.txt) < prev    next >
AmigaBASIC Source Code  |  1989-12-06  |  15KB  |  766 lines

  1. '********************************
  2. '*                              *
  3. '*   Mensch ärgere Dich nicht   *
  4. '*                              *
  5. '*       geschrieben von:       *
  6. '*                              *
  7. '*       Jörg Moldenhauer       *
  8. '*                              *
  9. '*          März 1989           *
  10. '*                              *
  11. '********************************
  12.  
  13. SCREEN 2,320,255,3,1
  14. WINDOW 3,"Mensch ärgere Dich nicht",(0,0)-(311,210),16,2
  15. WINDOW OUTPUT 3
  16. MENU 1,0,1,"von Jörg Moldenhauer, März 1989        "
  17. MENU 2,0,1,""
  18. MENU 3,0,1,""
  19. MENU 4,0,1,""
  20. PALETTE 0,1,1,0.5
  21. PALETTE 1,0,0,0
  22. PALETTE 2,1,1,1
  23. PALETTE 3,1,0,0
  24. PALETTE 4,1,0.67,0
  25. PALETTE 5,0,0.5,1
  26. PALETTE 6,0,0.75,0
  27. DIM Spiel(40,2)
  28. DIM ResC(4,2)
  29. DIM ResS(4,2)
  30. DIM ZielC(4,2)
  31. DIM ZielS(4,2)
  32.  
  33. Aufbau:
  34.   PALETTE 7,1,1,0.5
  35.   LINE (1,12)-(187,198),7,b
  36.   LINE (14,89)-(174,121),7,b
  37.   LINE (78,25)-(110,185),7,b
  38.   LINE (78,89)-(110,121),0,b
  39.   FOR i=1 TO 40
  40.     READ x,y
  41.     Spiel (i,0)=0
  42.     Spiel (i,1)=x
  43.     Spiel (i,2)=y
  44.     CIRCLE (x,y),6,1,,,1
  45.     PAINT (x,y),2,1
  46.   NEXT i
  47.   PALETTE 7,0,0,0
  48.   CIRCLE (78,185),6,3,,,1
  49.   CIRCLE (14,89),6,5,,,1
  50.   CIRCLE (110,25),6,4,,,1
  51.   CIRCLE (174,121),6,6,,,1
  52.   FOR j=1 TO 2
  53.     FOR i=1 TO 4
  54.       READ x,y
  55.       IF j=1 THEN
  56.         ZielS(i,0)=0
  57.         ZielS(i,1)=x
  58.         ZielS(i,2)=y
  59.         CIRCLE (x,y),5,3,,,1
  60.         PAINT (x,y),2,3
  61.       ELSE
  62.         ResS(i,0)=2
  63.         ResS(i,1)=x
  64.         ResS(i,2)=y
  65.         CIRCLE (x,y),5,3,,,1
  66.         PAINT (x,y),3,3
  67.       END IF
  68.     NEXT i
  69.     FOR i=1 TO 4
  70.       READ x,y
  71.       CIRCLE (x,y),5,5,,,1
  72.       PAINT (x,y),2,5
  73.     NEXT i
  74.     FOR i=1 TO 4
  75.       READ x,y
  76.       IF j=1 THEN
  77.         ZielC(i,0)=0
  78.         ZielC(i,1)=x
  79.         ZielC(i,2)=y
  80.         CIRCLE (x,y),5,4,,,1
  81.         PAINT (x,y),2,4
  82.       ELSE
  83.         ResC(i,0)=1
  84.         ResC(i,1)=x
  85.         ResC(i,2)=y
  86.         CIRCLE (x,y),5,4,,,1
  87.         PAINT (x,y),4,4
  88.       END IF
  89.     NEXT i  
  90.     FOR i=1 TO 4
  91.       READ x,y
  92.       CIRCLE (x,y),5,6,,,1
  93.       PAINT (x,y),2,6
  94.     NEXT i
  95.   NEXT j  
  96.   LOCATE 9,2 : PRINT "Mensch"
  97.   LOCATE 9,17 : PRINT "ärgere"
  98.   LOCATE 18,3 : PRINT "Dich"
  99.   LOCATE 18,17 : PRINT "nicht"
  100.   LINE (191,12)-(310,198),1,b
  101.   LINE (200,98)-(300,117),2,b
  102.   LINE (201,99)-(299,116),3,bf
  103.   COLOR 2,3
  104.   LOCATE 14,27 : PRINT "  Würfeln  "
  105.   LINE (200,122)-(300,141),2,b
  106.   LINE (201,123)-(299,140),3,bf
  107.   LOCATE 17,27 : PRINT " Aussetzen "
  108.   LINE (200,146)-(300,165),2,b
  109.   LINE (201,147)-(299,164),4,bf
  110.   COLOR 2,4
  111.   LOCATE 20,27 : PRINT "   AMIGA   "
  112.   LINE (200,170)-(300,189),1,b
  113.   LINE (201,171)-(299,188),2,bf
  114.   COLOR 1,2
  115.   LOCATE 23,27 : PRINT " Spielende "
  116.   COLOR 1,0
  117.   ResC(1,0)=0
  118.   Spiel(21,0)=1
  119.   ResS(1,0)=0
  120.   Spiel(1,0)=2
  121.   CIRCLE (ResC(1,1),ResC(1,2)),4,2,,,1
  122.   PAINT (ResC(1,1),ResC(1,2)),2,2
  123.   CIRCLE (Spiel(21,1),Spiel(21,2)),5,4,,,1
  124.   PAINT (Spiel(21,1),Spiel(21,2)),4,4
  125.   CIRCLE (ResS(1,1),ResS(1,2)),4,2,,,1
  126.   PAINT (ResS(1,1),ResS(1,2)),2,2
  127.   CIRCLE (Spiel(1,1),Spiel(1,2)),5,3,,,1
  128.   PAINT (Spiel(1,1),Spiel(1,2)),3,3
  129.   LINE (220,30)-(276,86),1,b
  130.   GOSUB Wf1
  131.   RANDOMIZE TIMER
  132.  
  133. Anfang:
  134.   w=INT(RND*2)+1
  135.   LOCATE 3,26
  136.   IF w=1 THEN
  137.     PRINT " Ich beginne "
  138.     LINE (200,146)-(300,165),1,b
  139.     COLOR 1,4
  140.     LOCATE 20,27 : PRINT "   AMIGA   "
  141.     COLOR 1,0
  142.     WHILE MOUSE(0)<>1 : WEND
  143.     LOCATE 3,26 : PRINT "             "
  144.     GOTO WurfC
  145.   ELSE 
  146.     PRINT " Du beginnst "
  147.     LINE (200,98)-(300,117),1,b
  148.     COLOR 1,3
  149.     LOCATE 14,27 : PRINT "  Würfeln  "
  150.     COLOR 1,0
  151.     WHILE MOUSE(0)<>1 : WEND
  152.     LOCATE 3,26 : PRINT "             "
  153.     GOTO WurfS
  154.   END IF
  155.   
  156.  
  157. WurfC:
  158.   GOSUB Endfrage
  159.   IF MOUSE(1)>200 AND MOUSE(1)<300 THEN
  160.     IF MOUSE(2)>146 AND MOUSE(2)<165 THEN
  161.       LINE (200,146)-(300,165),2,b
  162.       COLOR 2,4
  163.       LOCATE 20,27 : PRINT "   AMIGA   "
  164.       COLOR 1,0
  165.       w=INT(RND*6)+1
  166.       LOCATE 3,26 : PRINT "Ich habe eine"
  167.       ON w GOSUB Wf1,Wf2,Wf3,Wf4,Wf5,Wf6
  168.       FOR j=1 TO 2000 : NEXT
  169.       GOTO Raussetzen
  170.     END IF
  171.   END IF  
  172.   WHILE MOUSE(0)<>1 : WEND
  173.   GOTO WurfC
  174.  
  175. Raussetzen:  
  176.   IF w=6 THEN
  177.     FOR p=1 TO 4
  178.       IF ResC(p,0)=1 THEN
  179.         IF Spiel(21,0)=1 THEN
  180.           IF Spiel(27,0)=1 THEN GOSUB SchlagenS
  181.           IF Spiel(27,0)=2 THEN GOSUB SchlagenC
  182.           Spiel(21,0)=0
  183.           Spiel(27,0)=1
  184.           CIRCLE (Spiel(21,1),Spiel(21,2)),5,2,,,1
  185.           PAINT (Spiel(21,1),Spiel(21,2)),2,2
  186.           CIRCLE (Spiel(27,1),Spiel(27,2)),5,4,,,1
  187.           PAINT (Spiel(27,1),Spiel(27,2)),4,4
  188.           GOTO Frage6C
  189.         END IF  
  190.         IF Spiel(21,0)=2 THEN GOSUB SchlagenC
  191.         ResC(p,0)=0
  192.         Spiel(21,0)=1
  193.         CIRCLE (ResC(p,1),ResC(p,2)),4,2,,,1
  194.         PAINT (ResC(p,1),ResC(p,2)),2,2
  195.         CIRCLE (Spiel(21,1),Spiel(21,2)),5,4,,,1
  196.         PAINT (Spiel(21,1),Spiel(21,2)),4,4
  197.         GOTO Frage6C
  198.       END IF  
  199.     NEXT p
  200.   END IF
  201.        
  202. 'Freimachen
  203.   IF Spiel(21,0)=1 THEN
  204.     FOR p=1 TO 4
  205.       IF ResC(p,0)=1 THEN
  206.         IF Spiel(21+w,0)<>1 THEN
  207.           IF Spiel(21+w,0)=2 THEN GOSUB SchlagenC
  208.           Spiel(21,0)=0
  209.           Spiel(21+w,0)=1
  210.           CIRCLE (Spiel(21,1),Spiel(21,2)),5,2,,,1
  211.           PAINT (Spiel(21,1),Spiel(21,2)),2,2
  212.           CIRCLE (Spiel(21+w,1),Spiel(21+w,2)),5,4,,,1
  213.           PAINT (Spiel(21+w,1),Spiel(21+w,2)),4,4
  214.           GOTO Frage6C
  215.         END IF
  216.       END IF
  217.     NEXT p  
  218.   END IF
  219.   
  220. 'Schlagen
  221.   FOR z=20 TO 1 STEP -1
  222.   c=z-w
  223.   IF c<1 THEN c=c+40
  224.   IF Spiel(z,0)=2 AND Spiel(c,0)=1 THEN  
  225.       GOSUB SchlagenC
  226.       Spiel(z,0)=1
  227.       Spiel(c,0)=0
  228.       CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  229.       PAINT (Spiel(c,1),Spiel(c,2)),2,2
  230.       CIRCLE (Spiel(z,1),Spiel(z,2)),5,4,,,1
  231.       PAINT (Spiel(z,1),Spiel(z,2)),4,4
  232.       GOTO Frage6C
  233.     END IF  
  234.   NEXT z
  235.   FOR z=40 TO 21+w STEP -1
  236.   c=z-w
  237.   IF c<1 THEN c=c+40
  238.   IF Spiel(z,0)=2 AND Spiel(c,0)=1 THEN  
  239.       GOSUB SchlagenC
  240.       Spiel(z,0)=1
  241.       Spiel(c,0)=0
  242.       CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  243.       PAINT (Spiel(c,1),Spiel(c,2)),2,2
  244.       CIRCLE (Spiel(z,1),Spiel(z,2)),5,4,,,1
  245.       PAINT (Spiel(z,1),Spiel(z,2)),4,4
  246.       GOTO Frage6C
  247.     END IF  
  248.   NEXT z
  249.  
  250. 'Zielsetzen  
  251.   FOR z=4 TO 1 STEP -1
  252.     c=z-w
  253.     IF c>0 THEN
  254.       IF ZielC(c,0)=1 AND ZielC(z,0)=0 THEN
  255.         ZielC(c,0)=0 : ZielC(z,0)=1
  256.         CIRCLE (ZielC(c,1),ZielC(c,2)),4,2,,,1
  257.         PAINT (ZielC(c,1),ZielC(c,2)),2,2
  258.         CIRCLE (ZielC(z,1),ZielC(z,2)),5,4,,,1
  259.         PAINT (ZielC(z,1),ZielC(z,2)),4,4
  260.         GOTO Frage6C
  261.       END IF
  262.     END IF  
  263.     IF c<1 THEN
  264.       c=c+20
  265.       IF Spiel(c,0)=1 AND ZielC(z,0)=0 THEN
  266.         Spiel(c,0)=0 : ZielC(z,0)=1
  267.         CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  268.         PAINT (Spiel(c,1),Spiel(c,2)),2,2
  269.         CIRCLE (ZielC(z,1),ZielC(z,2)),5,4,,,1
  270.         PAINT (ZielC(z,1),ZielC(z,2)),4,4
  271.         FOR q=1 TO 4
  272.           IF ZielC(q,0)=0 THEN Frage6C
  273.         NEXT q
  274.         LOCATE 3,26 : PRINT " Ich gewinne "  
  275.         GOTO Ende
  276.       END IF
  277.     END IF
  278.   NEXT z
  279.   
  280. 'normal setzen  
  281.   Schalter=0  
  282.  
  283. 'von vorne
  284.   FOR z=20 TO w+1 STEP -1
  285.     c=z-w
  286.     IF Spiel(c,0)=1 AND Spiel(z,0)=0 THEN
  287.       IF z=1 THEN
  288.         FOR q=1 TO 4
  289.           IF ResS(q,0)=2 THEN
  290.             Schalter=1
  291.             ce=c
  292.             GOTO Marke1
  293.           END IF
  294.         NEXT q
  295.       END IF    
  296.       Spiel(c,0)=0 : Spiel(z,0)=1
  297.       CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  298.       PAINT (Spiel(c,1),Spiel(c,2)),2,2
  299.       CIRCLE (Spiel(z,1),Spiel(z,2)),5,4,,,1
  300.       PAINT (Spiel(z,1),Spiel(z,2)),4,4
  301.       GOTO Frage6C
  302.     END IF
  303.   Marke1:
  304.   NEXT z
  305.  
  306. 'von hinten
  307.   FOR c=21 TO 40
  308.     z=c+w
  309.     IF z>40 THEN z=z-40
  310.     IF Spiel(c,0)=1 AND Spiel(z,0)=0 THEN
  311.       IF z=1 THEN
  312.         FOR q=1 TO 4
  313.           IF ResS(q,0)=2 THEN
  314.             Schalter=1
  315.             ce=c
  316.             GOTO Marke2
  317.           END IF
  318.         NEXT q
  319.       END IF    
  320.       Spiel(c,0)=0 : Spiel(z,0)=1
  321.       CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  322.       PAINT (Spiel(c,1),Spiel(c,2)),2,2
  323.       CIRCLE (Spiel(z,1),Spiel(z,2)),5,4,,,1
  324.       PAINT (Spiel(z,1),Spiel(z,2)),4,4
  325.       GOTO Frage6C
  326.     END IF
  327.   Marke2:
  328.   NEXT c
  329.   
  330. 'letzte Moeglichkeit
  331.   IF Schalter=1 THEN
  332.     c=ce 
  333.     Spiel(c,0)=0 : Spiel(1,0)=1
  334.     CIRCLE (Spiel(c,1),Spiel(c,2)),5,2,,,1
  335.     PAINT (Spiel(c,1),Spiel(c,2)),2,2
  336.     CIRCLE (Spiel(1,1),Spiel(1,2)),5,4,,,1
  337.     PAINT (Spiel(1,1),Spiel(1,2)),4,4
  338.     GOTO Frage6C
  339.   END IF
  340.  
  341. 'passen
  342.   LOCATE 3,26 : PRINT "  Ich passe  "
  343.   LINE (200,98)-(300,117),1,b
  344.   COLOR 1,3
  345.   LOCATE 14,27 : PRINT "  Würfeln  "
  346.   COLOR 1,0
  347.   WHILE MOUSE(0)<>1 : WEND
  348.   LOCATE 3,26 : PRINT "             "
  349.   GOSUB Endfrage
  350.   GOTO WurfS
  351.     
  352. Frage6C:
  353.       IF w=6 THEN
  354.         LOCATE 3,26 : PRINT "  Nochmal !  "
  355.         LINE (200,146)-(300,165),1,b
  356.         COLOR 1,4
  357.         LOCATE 20,27 : PRINT "   AMIGA   "
  358.         COLOR 1,0
  359.         WHILE MOUSE(0)<>1 : WEND
  360.         LOCATE 3,26 : PRINT "             "
  361.         GOSUB Endfrage
  362.         GOTO WurfC
  363.       ELSE
  364.         LOCATE 3,26 : PRINT "Du bist dran "
  365.         LINE (200,98)-(300,117),1,b
  366.         COLOR 1,3
  367.         LOCATE 14,27 : PRINT "  Würfeln  "
  368.         COLOR 1,0
  369.         WHILE MOUSE(0)<>1 : WEND
  370.         LOCATE 3,26 : PRINT "             "
  371.         GOSUB Endfrage
  372.         GOTO WurfS
  373.       END IF
  374.   
  375.  
  376. WurfS:
  377.   GOSUB Endfrage
  378.   IF MOUSE(1)>200 AND MOUSE(1)<300 THEN
  379.     IF MOUSE(2)>98 AND MOUSE(2)<117 THEN
  380.       LINE (200,98)-(300,117),2,b
  381.       COLOR 2,3
  382.       LOCATE 14,27 : PRINT "  Würfeln  "
  383.       COLOR 1,0
  384.       w=INT(RND*6)+1
  385.       LOCATE 3,26 : PRINT "Du hast eine "
  386.       ON w GOSUB Wf1,Wf2,Wf3,Wf4,Wf5,Wf6
  387.       LINE (200,122)-(300,141),1,b
  388.       COLOR 1,3
  389.       LOCATE 17,27 : PRINT " Aussetzen "
  390.       COLOR 1,0
  391.       GOTO Abfrage
  392.     END IF
  393.   END IF  
  394.   WHILE MOUSE(0)<>1 : WEND
  395.   GOSUB Endfrage
  396.   GOTO WurfS
  397.   
  398. Abfrage:  
  399.   WHILE MOUSE(0)<>1 : WEND
  400.   GOSUB Endfrage
  401.   FOR i=0 TO 10
  402.     FOR j=14+i*16-6 TO 14+i*16+6
  403.       IF MOUSE(1)=j THEN
  404.         xm=14+i*16
  405.         FOR k=0 TO 10
  406.           FOR l=25+k*16-6 TO 25+k*16+6
  407.             IF MOUSE(2)=l THEN
  408.               ym=25+k*16
  409.               GOTO Pruefen
  410.             END IF
  411.           NEXT l
  412.         NEXT k      
  413.       END IF
  414.     NEXT j
  415.   NEXT i
  416.   IF MOUSE(1)>200 AND MOUSE(1)<300 THEN
  417.     IF MOUSE(2)>122 AND MOUSE(2)<141 THEN
  418.       GOTO Passen
  419.     END IF
  420.   END IF
  421.     
  422. Pruefen:
  423.   FOR s=1 TO 4
  424.     IF xm=ResS(s,1) AND ym=ResS(s,2) THEN 
  425.       IF w=6 AND ResS(s,0)=2 THEN
  426.         IF Spiel(1,0)<>2 THEN
  427.           IF Spiel(1,0)=1 THEN GOSUB SchlagenS
  428.           ResS(s,0)=0
  429.           Spiel(1,0)=2
  430.           CIRCLE(ResS(s,1),ResS(s,2)),4,2,,,1
  431.           PAINT(ResS(s,1),ResS(s,2)),2,2
  432.           CIRCLE(Spiel(1,1),Spiel(1,2)),5,3,,,1
  433.           PAINT(Spiel(1,1),Spiel(1,2)),3,3
  434.           GOTO Frage6S
  435.         END IF
  436.         IF Spiel(1,0)=2 THEN Unmgl
  437.       END IF
  438.     END IF
  439.   NEXT s
  440.   
  441.   FOR s=1 TO 40
  442.     IF xm=Spiel(s,1) AND ym=Spiel(s,2) THEN
  443.       IF Spiel(s,0)=2 THEN
  444.         IF w<>6 THEN Zug1
  445.         IF w=6 THEN
  446.           FOR p=1 TO 4
  447.             IF ResS(p,0)=2 THEN
  448.               IF Spiel(1,0)=2 AND s=1 THEN
  449.                 IF Spiel(7,0)=1 THEN GOSUB SchlagenS
  450.                 IF Spiel(7,0)=2 THEN GOSUB SchlagenC
  451.                 Spiel(1,0)=0
  452.                 Spiel(7,0)=2
  453.                 CIRCLE(Spiel(1,1),Spiel(1,2)),5,2,,,1
  454.                 PAINT(Spiel(1,1),Spiel(1,2)),2,2
  455.                 CIRCLE(Spiel(7,1),Spiel(7,2)),5,3,,,1
  456.                 PAINT(Spiel(7,1),Spiel(7,2)),3,3
  457.                 GOTO Frage6S
  458.               END IF
  459.               IF Spiel(1,0)=2 AND s<>1 THEN Unmgl
  460.               IF Spiel(1,0)<>2 THEN Unmgl
  461.             END IF
  462.           NEXT p
  463.           GOTO Zug1
  464.         END IF
  465.       END IF
  466.     END IF
  467.   NEXT s            
  468.  
  469.   FOR s=1 TO 4
  470.     IF xm=ZielS(s,1) AND ym=ZielS(s,2) THEN
  471.       IF ZielS(s,0)=2 THEN
  472.         IF w<>6 THEN Zug2
  473.         FOR p=1 TO 4
  474.           IF ResS(p,0)=0 THEN Zug2
  475.         NEXT p
  476.       END IF
  477.     END IF
  478.   NEXT s            
  479.       
  480. Unmgl:
  481.   LOCATE 3,26 : PRINT "Zug unmöglich"
  482.   GOTO Abfrage            
  483.         
  484. Zug1:
  485.   z=s+w
  486.   IF z>40 THEN
  487.     z=z-40
  488.     IF z<5 THEN
  489.       IF ZielS(z,0)=0 THEN
  490.         Spiel(s,0)=0
  491.         ZielS(z,0)=2
  492.         CIRCLE(Spiel(s,1),Spiel(s,2)),5,2,,,1
  493.         PAINT(Spiel(s,1),Spiel(s,2)),2,2
  494.         CIRCLE(ZielS(z,1),ZielS(z,2)),5,3,,,1
  495.         PAINT(ZielS(z,1),ZielS(z,2)),3,3
  496.         FOR q=1 TO 4
  497.           IF ZielS(q,0)=0 THEN Frage6S
  498.         NEXT q
  499.         LOCATE 3,26 : PRINT " Du gewinnst "  
  500.         GOTO Ende
  501.       END IF
  502.     ELSE
  503.       GOTO Unmgl
  504.     END IF
  505.   END IF  
  506.   IF s>z THEN Unmgl
  507.   IF Spiel(z,0)=1 THEN GOSUB SchlagenS
  508.   IF Spiel(z,0)=2 THEN GOSUB Unmgl
  509.   Spiel(s,0)=0
  510.   Spiel(z,0)=2
  511.   CIRCLE(Spiel(s,1),Spiel(s,2)),5,2,,,1
  512.   PAINT(Spiel(s,1),Spiel(s,2)),2,2
  513.   CIRCLE(Spiel(z,1),Spiel(z,2)),5,3,,,1
  514.   PAINT(Spiel(z,1),Spiel(z,2)),3,3
  515.   GOTO Frage6S
  516.  
  517. Zug2:
  518.   z=s+w
  519.   IF z<5 THEN
  520.     IF ZielS(z,0)=0 THEN
  521.       ZielS(s,0)=0
  522.       ZielS(z,0)=2
  523.       CIRCLE(ZielS(s,1),ZielS(s,2)),4,2,,,1
  524.       PAINT(ZielS(s,1),ZielS(s,2)),2,2
  525.       CIRCLE(ZielS(z,1),ZielS(z,2)),5,3,,,1
  526.       PAINT(ZielS(z,1),ZielS(z,2)),3,3
  527.       GOTO Frage6S
  528.     END IF
  529.   END IF
  530.   GOTO Unmgl
  531.   
  532. Passen:
  533.   FOR s=1 TO 4
  534.     IF ResS(s,0)=2 AND w=6 AND Spiel(1,0)<>2 THEN Nichtpassen
  535.     IF ZielS(s,0)=2 THEN
  536.       z=s+w
  537.       IF z<5 THEN
  538.         IF ZielS(z,0)=0 THEN Nichtpassen
  539.       END IF
  540.     END IF    
  541.   NEXT s
  542.   FOR s=1 TO 40
  543.     IF Spiel(s,0)=2 THEN
  544.       z=s+w
  545.       IF z<41 THEN
  546.         IF Spiel(z,0)<>2 THEN Nichtpassen
  547.       END IF
  548.       IF z>40 THEN
  549.         z=z-40
  550.         IF z<5 THEN
  551.           IF ZielS(z,0)=0 THEN Nichtpassen
  552.         END IF
  553.       END IF
  554.     END IF
  555.   NEXT s
  556.   LINE (200,122)-(300,141),2,b
  557.   COLOR 2,3
  558.   LOCATE 17,27 : PRINT " Aussetzen "
  559.   COLOR 1,0
  560.   LOCATE 3,26 : PRINT "Ich bin dran "
  561.   LINE (200,146)-(300,165),1,b
  562.   COLOR 1,4
  563.   LOCATE 20,27 : PRINT "   AMIGA   "
  564.   COLOR 1,0
  565.   GOSUB Endfrage
  566.   GOTO WurfC       
  567.  
  568. Nichtpassen:
  569.   LOCATE 3,26 : PRINT "Nicht passen "
  570.   GOTO Abfrage
  571.  
  572. Frage6S:
  573.   LINE (200,122)-(300,141),2,b
  574.   COLOR 2,3
  575.   LOCATE 17,27 : PRINT " Aussetzen "
  576.   COLOR 1,0
  577.   IF w=6 THEN
  578.       LOCATE 3,26 : PRINT "  Nochmal !  "
  579.       LINE (200,98)-(300,117),1,b
  580.       COLOR 1,3
  581.       LOCATE 14,27 : PRINT "  Würfeln  "
  582.       COLOR 1,0
  583.       WHILE MOUSE(0)<>1 : WEND
  584.       LOCATE 3,26 : PRINT "             "
  585.       GOSUB Endfrage
  586.       GOTO WurfS
  587.     ELSE
  588.       LOCATE 3,26 : PRINT "Ich bin dran "
  589.       LINE (200,146)-(300,165),1,b
  590.       COLOR 1,4
  591.       LOCATE 20,27 : PRINT "   AMIGA   "
  592.       COLOR 1,0
  593.       WHILE MOUSE(0)<>1 : WEND
  594.       LOCATE 3,26 : PRINT "             "
  595.       GOSUB Endfrage
  596.       GOTO WurfC
  597.     END IF
  598.  
  599.  
  600. SchlagenC:
  601.   FOR i=1 TO 4
  602.     IF ResS(i,0)=0 THEN
  603.       ResS(i,0)=2
  604.       CIRCLE (ResS(i,1),ResS(i,2)),4,3,,,1
  605.       PAINT (ResS(i,1),ResS(i,2)),3,3
  606.       RETURN
  607.     END IF
  608.   NEXT
  609. RETURN  
  610.     
  611. SchlagenS:
  612.   FOR i=1 TO 4
  613.     IF ResC(i,0)=0 THEN
  614.       ResC(i,0)=1
  615.       CIRCLE (ResC(i,1),ResC(i,2)),4,4,,,1
  616.       PAINT (ResC(i,1),ResC(i,2)),4,4
  617.       RETURN
  618.     END IF
  619.   NEXT
  620. RETURN  
  621.  
  622.  
  623. Endfrage:
  624.   IF MOUSE(1)>200 AND MOUSE(1)<300 THEN
  625.     IF MOUSE(2)>170 AND MOUSE(2)<189 THEN
  626.       WINDOW 4,,(15,70)-(295,130),16,2
  627.       WINDOW OUTPUT 4
  628.       PAINT (1,1),2,1
  629.       LINE (12,35)-(92,53),1,b
  630.       LINE (100,35)-(180,53),1,b
  631.       LINE (188,35)-(268,53),1,b
  632.       PAINT (13,36),6,1
  633.       PAINT (101,36),6,1
  634.       PAINT (189,36),6,1
  635.       COLOR 1,2
  636.       LOCATE 3,4 : PRINT "Willst Du wirklich aufhören ?"
  637.       COLOR 1,6
  638.       LOCATE 6,3 : PRINT " Weiter! "
  639.       LOCATE 6,14 : PRINT "Neubeginn"
  640.       LOCATE 6,25 : PRINT "Spielende"
  641.       COLOR 1,0
  642.       WMarke:
  643.       WHILE MOUSE(0)<>1 : WEND
  644.       IF WINDOW(0)=4 THEN
  645.         IF MOUSE(2)>35 AND MOUSE(2)<53 THEN
  646.           IF MOUSE(1)>12 AND MOUSE(1)<92 THEN
  647.             WINDOW CLOSE 4
  648.             WINDOW OUTPUT 3
  649.             RETURN
  650.           END IF  
  651.           IF MOUSE(1)>100 AND MOUSE(1)<180 THEN
  652.             WINDOW CLOSE 4
  653.             RUN
  654.           END IF
  655.           IF MOUSE(1)>188 AND MOUSE(1)<268 THEN 
  656.             SCREEN CLOSE 2
  657.             SYSTEM
  658.           END IF
  659.         END IF
  660.       END IF       
  661.       GOTO WMarke
  662.     END IF
  663.   END IF
  664.   RETURN
  665.   
  666. Ende:
  667.   LINE (200,98)-(300,117),2,b
  668.   COLOR 2,3
  669.   LOCATE 14,27 : PRINT "  Würfeln  "
  670.   LINE (200,122)-(300,141),2,b
  671.   LOCATE 17,27 : PRINT " Aussetzen "
  672.   LINE (200,146)-(300,165),2,b
  673.   COLOR 2,4
  674.   LOCATE 20,27 : PRINT "   AMIGA   "
  675.   Endmarke:
  676.   WHILE MOUSE(0)<>1 : WEND
  677.   GOSUB Endfrage
  678.   GOTO Endmarke
  679.  
  680.  
  681. 'Wuerfel zeichnen
  682. Wf1:
  683.   LINE (221,31)-(275,85),2,bf
  684.   CIRCLE (248,58),3,1,,,1
  685.   PAINT (248,58),1,1
  686.   RETURN
  687.  
  688. Wf2:
  689.   LINE (221,31)-(275,85),2,bf
  690.   CIRCLE (264,42),3,1,,,1
  691.   PAINT (264,42),1,1
  692.   CIRCLE (232,74),3,1,,,1
  693.   PAINT (232,74),1,1
  694.   RETURN
  695.  
  696. Wf3:
  697.   LINE (221,31)-(275,85),2,bf
  698.   CIRCLE (264,42),3,1,,,1
  699.   PAINT (264,42),1,1
  700.   CIRCLE (248,58),3,1,,,1
  701.   PAINT (248,58),1,1
  702.   CIRCLE (232,74),3,1,,,1
  703.   PAINT (232,74),1,1
  704.   RETURN
  705.  
  706. Wf4:
  707.   LINE (221,31)-(275,85),2,bf
  708.   CIRCLE (232,42),3,1,,,1
  709.   PAINT (232,42),1,1
  710.   CIRCLE (264,42),3,1,,,1
  711.   PAINT (264,42),1,1
  712.   CIRCLE (232,74),3,1,,,1
  713.   PAINT (232,74),1,1
  714.   CIRCLE (264,74),3,1,,,1
  715.   PAINT (264,74),1,1
  716.   RETURN
  717.  
  718. Wf5:
  719.   LINE (221,31)-(275,85),2,bf
  720.   CIRCLE (232,42),3,1,,,1
  721.   PAINT (232,42),1,1
  722.   CIRCLE (264,42),3,1,,,1
  723.   PAINT (264,42),1,1
  724.   CIRCLE (248,58),3,1,,,1
  725.   PAINT (248,58),1,1
  726.   CIRCLE (232,74),3,1,,,1
  727.   PAINT (232,74),1,1
  728.   CIRCLE (264,74),3,1,,,1
  729.   PAINT (264,74),1,1
  730.   RETURN
  731.  
  732. Wf6:
  733.   LINE (221,31)-(275,85),2,bf
  734.   CIRCLE (232,42),3,1,,,1
  735.   PAINT (232,42),1,1
  736.   CIRCLE (248,42),3,1,,,1
  737.   PAINT (248,42),1,1
  738.   CIRCLE (264,42),3,1,,,1
  739.   PAINT (264,42),1,1
  740.   CIRCLE (232,74),3,1,,,1
  741.   PAINT (232,74),1,1
  742.   CIRCLE (248,74),3,1,,,1
  743.   PAINT (248,74),1,1
  744.   CIRCLE (264,74),3,1,,,1
  745.   PAINT (264,74),1,1
  746.   RETURN
  747.  
  748. 'Daten fuer Spielfeld
  749.   DATA 78,185,78,169,78,153,78,137,78,121
  750.   DATA 62,121,46,121,30,121,14,121,14,105
  751.   DATA 14,89,30,89,46,89,62,89,78,89
  752.   DATA 78,73,78,57,78,41,78,25,94,25
  753.   DATA 110,25,110,41,110,57,110,73,110,89
  754.   DATA 126 ,89,142,89,158,89,174,89,174,105
  755.   DATA 174,121,158,121,142,121,126,121,110,121
  756.   DATA 110 ,137,110,153,110,169,110,185,94,185
  757.   DATA 94,169,94,153,94,137,94,121
  758.   DATA 30,105,46,105,62,105,78,105
  759.   DATA 94,41,94,57,94,73,94,89
  760.   DATA 158,105,142,105,126,105,110,105
  761.   DATA 14,185,14,169,30,169,30,185
  762.   DATA 14,25,30,25,30,41,14,41
  763.   DATA 158,25,174,25,174,41,158,41
  764.   DATA 158,169,174,169,174,185,158,185
  765.       
  766.